This chapter covers:
- Defining the goals of Project Jigsaw
- Contrasting the Monolithic JDK vs. the Modular JDK
- Understanding the limitations of Java 8 Compact Profiles
- Identifying the architectural shifts in the Java 9 VM
For two decades, Java suffered from "Software Rust"—a slow decay where the platform became an unmanageable monolith. Every application, no matter how small, carried the weight of rt.jar, a massive 60MB+ file containing everything from GUI components to legacy CORBA classes.
1. The End of the Monolith
Project Jigsaw represents the most significant shift in Java's history. It shatters rt.jar into ~75 distinct modules. This isn't just about size; it's about Strong Encapsulation. By hiding internal APIs (like the infamous sun.misc.Unsafe), Java can finally evolve without breaking the world.
2. Why Compact Profiles Failed
Java 8 tried "Compact Profiles," but they were rigid, predefined subsets. Project Jigsaw replaces them with a truly extensible architecture where you use jlink to assemble only the modules your specific application needs.